package edu.cibertec.sicsolutions.vfs.dao.votacion.ibatis;
import edu.cibertec.sicsolutions.vfs.dao.votacion.ZonaHorariaDao;
import edu.cibertec.sicsolutions.vfs.domain.votacion.ZonaHoraria;
import edu.cibertec.sicsolutions.vfs.spring.SpringIbatisBase;
import edu.cibertec.sicsolutions.exception.DaoException;
import java.util.List;
import java.util.Map;

/**
 * Data Access Object Implementation of table ZONA_HORARIA 
 * @author enrique.vargas
 *
 */
public class ZonaHorariaDaoImpl extends SpringIbatisBase implements ZonaHorariaDao {	

	public ZonaHoraria getZonaHorariaByPk(ZonaHoraria zonaHoraria) throws DaoException{
		try{
			return (ZonaHoraria)queryForObject("getZonaHorariaByPk", zonaHoraria);
		} catch(Exception e){
			log.error(e.getMessage(), e);
			throw new DaoException(e.getMessage(), e);
		}		
	}
	
	public void insertZonaHoraria(ZonaHoraria zonaHoraria) throws DaoException{
		try{
			insert("insertZonaHoraria", zonaHoraria);
		} catch(Exception e){
			log.error(e.getMessage(), e);
			throw new DaoException(e.getMessage(), e);
		}		
	}
	
	public void updateZonaHoraria(ZonaHoraria zonaHoraria) throws DaoException{		
		try{
			update("updateZonaHoraria", zonaHoraria);
		} catch(Exception e){
			log.error(e.getMessage(), e);
			throw new DaoException(e.getMessage(), e);
		}
	}
	
	public void updateZonaHorariaByMap(Map map) throws DaoException{		
		try{
			update("updateZonaHorariaByMap", map);
		} catch(Exception e){
			log.error(e.getMessage(), e);
			throw new DaoException(e.getMessage(), e);
		}
	}
	
	public void deleteZonaHorariaByPk(ZonaHoraria zonaHoraria) throws DaoException{		
		try{
			delete("deleteZonaHorariaByPk", zonaHoraria);
		} catch(Exception e){
			log.error(e.getMessage(), e);
			throw new DaoException(e.getMessage(), e);
		}
	}
	
	public ZonaHoraria[] findZonaHorariaByClass(ZonaHoraria zonaHoraria) throws DaoException{
		try{
			List list = queryForList("findZonaHorariaByClass", zonaHoraria);
			return (ZonaHoraria[])list.toArray(new ZonaHoraria[list.size()]);
		} catch(Exception e){
			log.error(e.getMessage(), e);
			throw new DaoException(e.getMessage(), e);
		}
	}
}